/*
	Bootloader 
	Степанов Д.В.
*/

#include "defines.h"

/*
		Подумать над задачами:
		- 	
		-		Список поддерживаемых команд
		- 	Нужна ли поддержка UDP
		- 	
*/





int main()
{
	//Software reset
	if (LPC_SC->RSID&(1<<2))
	{
		//Считываем сетевые параметры и остаемся в загрузчике
		netParams = (NetParamsT *)NETPARAMS_ADDRESS;
	}
	//Hardware reset
	else
	{
		//Кнопка не нажата 
		if (LPC_GPIO1->FIOPIN&(1<<20))
		{
			//прыгаем на приложение, если контрольная сумма совпадает
			if (check_app())
				execute_user_code();
		}
	}
	
	
	
	
	//Если попали сюда, то остаемся в загрузчике
	SER_Init();
	SER_PutStr(FW_VER);SER_PutStr("\r\n");  
	//Настройка системных тиков
	system_timer_init();
	//Настройка TCP\IP
	ethernet_init();
	
	while(1)
	{
		
		//Обработка входящих пакетов	
		tcpip_prc();
	}
	
	return 0;
}







